#!/bin/sh -f

LD=$1
PACKAGES=$2
LDFLAGS=$3; shift 3

[ -n "$PACKAGES" ] && LDFLAGS="$LDFLAGS $(pkg-config --libs $PACKAGES)"

outfile="$1"; shift
bin="$(echo $0 | sed 's,/[^/]*$,,')"

# Derived from Russ Cox's 9l in plan9port.
ofiles=""
args=""
for i
do
	case "$i" in
	*.[ao]|*.o_pic)
		ofiles="$ofiles $i"
		;;
	*)
		args="$args $i"
		;;
	esac
done

xtmp=/tmp/ld.$$.$USER.out

echo LD "$($bin/cleanname ${BASE}$outfile)"
[ -n "$noisycc" ] && echo $LD -o $outfile $ofiles $LDFLAGS $args
$LD -o $outfile $ofiles $LDFLAGS $args >$xtmp 2>&1
status=$?
[ $status -eq 0 ] || echo $LD -o $outfile $ofiles $LDFLAGS $args >&2

sed 's/.*: In function `[^:]*: *//' $xtmp | egrep . |
egrep -v 'is almost always misused|is dangerous, better use|in statically linked applications requires at runtime'
rm -f $xtmp

exit $status

